<?php
declare(staict_types=1);

namespace app\admin\validate;

use think\Validate;

/**
 * 活动验证器
 * @package app\admin\validate
 */
class Marketing extends Validate
{
    // 定义验证规则
    protected $rule = [
        'id|ID' => 'require',
        'title|活动主题' => 'require|unique:marketing',
        'type|活动类型' => 'require',
        'province|省份' => 'require',
        'city|城市' => 'require',
        'area|地区' => 'require',
        'address|详细地址' => 'require',
        'start_time|开始时间' => 'require',
        'end_time|结束时间' => 'require',
        'budget|预算' => 'require',
        'manager|经办人' => 'require',
        'desc|活动描述' => 'require',
    ];

    // 定义验证提示
    protected $message = [
        'id.require' => 'ID必须',
        'title.require' => '请输入活动主题',
        'title.unique' => '该活动主题已存在',
        'type.require' => '请选择活动类型',
        'province.require' => '请选择省份',
        'city.require' => '请选择城市',
        'area.require' => '请选择地区',
        'address.require' => '请输入详细地址',
        'start_time.require' => '请选择开始时间',
        'end_time.require' => '请选择结束时间',
        'budget.require' => '请输入预算',
        'manager.require' => '请选择经办人',
        'desc.require' => '请输入活动描述',
    ];

    /**
     * 活动添加
     * @return Marketing
     */
    public function marketingInsert()
    {
        return $this->remove('id', 'require');
    }

    /**
     * 活动编辑
     * @return Marketing
     */
    public function marketingEdit()
    {
        return $this->remove('name', 'unique');
    }
}
